package com.sxj.corejava.code08_常用类.内部类;

/**
 * @author 石小俊
 * @date 2024年04月23日 20:29
 */
public class Test04_匿名内部类 {
    public static void main(String[] args) {
        SomeInterface some = new SomeClass();
        some.doSome();

        SomeInterface someInterface = new SomeInterface() {
            @Override
            public void doSome() {
                System.out.println("匿名内部类实现的");
            }
        };
        someInterface.doSome();

        OtherClass oc = new Son();
        oc.doOther();
        OtherClass oc2 = new OtherClass() {
            @Override
            public void doOther() {
                System.out.println("这是匿名内部类实现的");
            }
        };
        oc2.doOther();
    }
}

interface SomeInterface {
    void doSome();
}

class SomeClass implements SomeInterface {

    @Override
    public void doSome() {
        System.out.println("这是实现类实现的");
    }
}

abstract class OtherClass {
    public abstract void doOther();
}

class Son extends OtherClass {

    @Override
    public void doOther() {
        System.out.println("这是子类实现的");
    }
}